package com.ruoyi.system.service;

import java.io.IOException;
import java.util.List;
import com.ruoyi.system.domain.SysMedicines;
import com.ruoyi.system.domain.vo.SysMedicinesVo;
import org.springframework.web.multipart.MultipartFile;

/**
 * 药品Service接口
 * 
 * @author jiashu
 * @date 2025-03-13
 */
public interface ISysMedicinesService 
{
    /**
     * 查询药品
     * 
     * @param medicineId 药品主键
     * @return 药品
     */
    public SysMedicines selectSysMedicinesByMedicineId(Long medicineId);

    /**
     * 查询药品列表
     * 
     * @param sysMedicines 药品
     * @return 药品集合
     */
    public List<SysMedicines> selectSysMedicinesList(SysMedicines sysMedicines);

    /**
     * 新增药品
     * 
     * @param sysMedicines 药品
     * @return 结果
     */
    public int insertSysMedicines(SysMedicinesVo sysMedicinesVo) throws IOException;

    /**
     * 上传文件
     * @param medicines
     * @param file
     */
    public void importImg(SysMedicines medicines, MultipartFile file);





    /**
     * 修改药品
     * 
     * @param sysMedicines 药品
     * @return 结果
     */
    public int updateSysMedicines(SysMedicines sysMedicines);


    public int updateSysMedicines(SysMedicinesVo sysMedicinesVo) throws IOException;

    /**
     * 检查修改的名称是否重名
     * @param sysMedicinesVo
     * @return
     */
    public boolean checkUpdateMedicinesName(SysMedicinesVo sysMedicinesVo);

    /**
     * 批量删除药品
     * 
     * @param medicineIds 需要删除的药品主键集合
     * @return 结果
     */
    public int deleteSysMedicinesByMedicineIds(Long[] medicineIds);

    /**
     * 删除药品信息
     * 
     * @param medicineId 药品主键
     * @return 结果
     */
    public int deleteSysMedicinesByMedicineId(Long medicineId);
}
